package com.kfm.pm;

public class Exec02 {

    public static void main(String[] args) {
        // 定义一个 5 * 5 的二维数组并初始化，找出数组中的最小值的坐标。计算出该坐标周边的所有元素之和。
        int[][] arr = {
                {56, 6, 3, 7, 5},
                {34, 10, 5, 10, 4},
                {354, 435, 34, 23, 54},
                {325, 56, 98, 454, 3},
                {3, 5, 7, 6, 4},
        };
//        int[] nums = new int[5];   // 记录每一行的最大值
        int min = arr[0][0];
        int indexX = 2;
        int indexY = 2;
//        for (int i = 0; i < arr.length; i++) {
//            for (int j = 0; j < arr[i].length; j++) {
//                if (min > arr[i][j]) {
//                    min = arr[i][j];
//                    indexX = i;
//                    indexY = j;
//                }
//            }
//        }

        System.out.println("最小值是：" + min);
        System.out.println("最小值坐标是：" + indexX + ", " + indexY);
        int sum = (indexY == 0 ? 0 : arr[indexX][indexY - 1]) // 左边
                + (indexY == arr[0].length - 1 ? 0 : arr[indexX][indexY + 1]) // 右边
                + (indexX == 0 ? 0 : arr[indexX - 1][indexY]) // 正上方
                + (indexX == arr.length - 1 ? 0 : arr[indexX + 1][indexY]) // 正下方
                + (indexX == 0 || indexY == 0? 0 : arr[indexX - 1][indexY - 1])// 斜左上方
                + (indexX == 0 || indexY == arr[0].length - 1? 0 : arr[indexX - 1][indexY + 1]) // 斜右上方
                + (indexY == 0 || indexX == arr.length - 1? 0 : arr[indexX + 1][indexY - 1])// 斜左下方
                + (indexX == arr.length - 1 || indexY == arr[0].length - 1? 0 : arr[indexX + 1][indexY + 1]); // 斜右下方
        System.out.println(sum);
    }



}
